안녕하세요, 회로설계 멘토 삼코치 입니다:)
질문자분 상황을 보면 컴퓨터공학 전공 3학년이고, STM 기반 MCU 주변장치와 인터럽트까지 직접 코딩하면서 임베디드에 발을 제대로 들여놓으신 상태입니다. 이 정도면 “관심만 있는 단계”는 이미 넘어섰다고 보셔도 됩니다. 그래서 질문자분 고민은 충분히 현실적이고, 현업 기준으로 답할 가치가 있는 질문입니다.
첫 번째로 펌웨어 개발자나 임베디드 SW 개발자가 되기 위해 어느 정도의 HW를 알아야 하느냐는 질문에 대해 말씀드리면, 회로를 설계할 수 있을 정도의 깊이는 전혀 요구되지 않습니다. 현업에서 요구되는 HW 이해 수준은 “내가 쓰는 레지스터와 핀이 실제 물리 세계에서 무엇을 제어하는지 설명할 수 있는가”입니다. 예를 들어 GPIO를 설정할 때 단순히 데이터시트를 보고 비트만 맞추는 게 아니라, pull-up과 pull-down이 왜 필요한지, 입력 임피던스가 높다는 게 무슨 의미인지, 인터럽트가 걸렸을 때 노이즈가 있으면 어떤 문제가 생기는지를 이해하는 정도입니다. 이건 전자회로 전공자 수준이 아니라, 센서와 MCU 사이에서 신호가 어떻게 오가는지를 아는 정도라고 보시면 됩니다. 비유하자면 자동차 운전자가 엔진을 직접 설계할 필요는 없지만, 경고등이 켜졌을 때 어떤 계통 문제인지는 감으로라도 알아야 하는 것과 같습니다.
두 번째로 컴공이 리눅스 방향으로 임베디드를 많이 준비하는데 실제로 리눅스 관련 일자리가 있느냐는 질문에 대해서는, 분명히 있습니다. 특히 삼성전자 같은 대기업 기준으로 보면 임베디드는 크게 MCU 기반 펌웨어와 Embedded Linux 기반 시스템으로 나뉩니다. 가전, 모바일, 네트워크 장비, 차량용 인포테인먼트 쪽에서는 리눅스 기반 포지션이 꾸준히 존재합니다. 다만 이쪽은 단순히 커널을 빌드해본 경험보다는 디바이스 드라이버, 부트 시퀀스, 메모리 구조, 사용자 공간과 커널 공간의 경계 이해가 중요합니다. 질문자분이 STM으로 저수준을 먼저 만지고 있다는 점은, 나중에 리눅스를 하더라도 큰 장점으로 작용합니다. 밑단을 아는 사람이 위를 다루는 것과, 위만 하다가 밑단을 처음 보는 건 체감 난이도가 다릅니다.
세 번째로 취업 시 전자공학과 대비 컴공이 불리하냐는 질문은 “직무를 어디로 정의하느냐”에 따라 답이 달라집니다. 회로설계나 아날로그 IC 직무라면 컴공은 사실상 경쟁 자체가 어렵습니다. 하지만 펌웨어, 임베디드 SW, 시스템 SW 직무에서는 컴공이 불리하다고 보지 않습니다. 오히려 RTOS 구조, 메모리 관리, C 언어에 대한 감각, 디버깅 능력은 컴공이 강한 경우가 많습니다. 현업에서 펌웨어 개발을 하다 보면 회로 지식보다 “왜 여기서 데드락이 걸렸는지”, “인터럽트 우선순위 때문에 어떤 타이밍 문제가 생겼는지”를 파악하는 능력이 더 중요해지는 순간이 많습니다.
마지막으로 컴공이 HW를 안 배워서 불리한 것 같으니 포기하고 백엔드로 가는 게 맞느냐는 질문에는, 지금 상태에서 포기할 이유는 없다고 말씀드리고 싶습니다. 질문자분은 이미 STM 보드로 주변장치와 인터럽트를 직접 만지고 계시고, 모르는 회로는 찾아보면서 보완하고 계십니다. 이건 전형적인 “임베디드 SW로 성장 가능한 컴공 루트”입니다. 오히려 이 시점에서 백엔드로 방향을 틀면, 질문자분이 이미 투자한 시간과 흥미를 스스로 버리는 선택이 될 수 있습니다. 백엔드는 백엔드대로 경쟁이 치열하고, 적성이 맞는지도 다시 검증해야 합니다.
정리하면 질문자분은 HW를 포기해야 할 위치에 있는 게 아니라, “필요한 만큼만 정확히 가져가면 되는 위치”에 있습니다. MCU 레벨에서 레지스터, 인터럽트, 타이밍 개념을 몸으로 익히고 계신 지금 흐름을 유지하시고, 이후 RTOS나 Embedded Linux로 확장하신다면 컴공 임베디드로 충분히 경쟁력이 생깁니다. 길이 틀린 게 아니라, 아직 중간 지점에 계신 겁니다.
더 자세한 회로설계 컨텐츠를 원하신다면 아래 링크 확인해주세요 :)
https://linktr.ee/circuit_mentor